package linz


/**
 * 不能修饰var 编译时赋值
 */
const val INFO = "Success Result"

fun main() {
    // todo 1. string 模板
    val param = "Kotlin"
    val time = 666

    println("学习${param}的语法功能，$time")
    println("Server response result: ${if (true) "err" else "success"}")

    // todo 2. substring 模板
    val indexOf = INFO.indexOf('c')
    println(INFO.substring(0, indexOf)) // java 方式
    println(INFO.substring(0 until indexOf)) // kotlin 方式

    // todo 3. split
    var jsonText = "Alice,William,Lance,Alvin"
    val list = jsonText.split(",")

    println(list)

    // C++ 解构
    val (v1,v2,v3,v4) = list
    println("v1:$v1,v2:$v2,v3:$v3,v4:$v4")

    // todo 4. ==（类似于java equal） / ===(引用地址对比)
    val name1 = "Kotlin"
    val name2 = "Kotlin"
    println(name1.equals(name2)) // true
    // Kt == java name1.equals(name2)
    println(name1 == name2)  // true
    //引用地址对比
    val name4 = "kotlin".capitalize()
    println(name4 === name1)
}